﻿namespace TestTool.Proxies.Event
{
    using System;
    using System.CodeDom.Compiler;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.ServiceModel;
    using System.ServiceModel.Channels;

    [GeneratedCode("System.ServiceModel", "3.0.0.0"), DebuggerStepThrough]
    public class SubscriptionManagerClient : ClientBase<SubscriptionManager>, SubscriptionManager
    {
        public SubscriptionManagerClient()
        {
        }

        public SubscriptionManagerClient(string endpointConfigurationName) : base(endpointConfigurationName)
        {
        }

        public SubscriptionManagerClient(Binding binding, EndpointAddress remoteAddress) : base(binding, remoteAddress)
        {
        }

        public SubscriptionManagerClient(string endpointConfigurationName, EndpointAddress remoteAddress) : base(endpointConfigurationName, remoteAddress)
        {
        }

        public SubscriptionManagerClient(string endpointConfigurationName, string remoteAddress) : base(endpointConfigurationName, remoteAddress)
        {
        }

        public RenewResponse Renew(TestTool.Proxies.Event.Renew Renew1)
        {
            RenewRequest request = new RenewRequest {
                Renew = Renew1
            };
            return ((SubscriptionManager) this).Renew(request).RenewResponse;
        }

        [EditorBrowsable(EditorBrowsableState.Advanced)]
        RenewResponse1 SubscriptionManager.Renew(RenewRequest request)
        {
            return base.Channel.Renew(request);
        }

        [EditorBrowsable(EditorBrowsableState.Advanced)]
        UnsubscribeResponse1 SubscriptionManager.Unsubscribe(UnsubscribeRequest request)
        {
            return base.Channel.Unsubscribe(request);
        }

        public UnsubscribeResponse Unsubscribe(TestTool.Proxies.Event.Unsubscribe Unsubscribe1)
        {
            UnsubscribeRequest request = new UnsubscribeRequest {
                Unsubscribe = Unsubscribe1
            };
            return ((SubscriptionManager) this).Unsubscribe(request).UnsubscribeResponse;
        }
    }
}

